package org.jash.day3

/**
 * Created by Jash
 */
fun main() {
//    for (i in 10 downTo 1 step 2) {
//        println(i)
//    }
//    (1..10 step 2).forEach(::println)
//    (1..9)
//        .map { i -> (1..i).joinToString("\t") { "$i*$it=${i * it}" } }
//        .forEach(::println)
//    for (i in 1..9) {
//        for (j in 1..i) {
//            print("$i*$j=${i * j}\t")
//        }
//        println()
//    }
    val person:Student = create() {}
    println(person)
}
inline fun sum(i:Int, j:Int):Int {
    return i + j
}
inline fun <reified T> create(noinline f:() -> Unit):T {
    return T::class.java.newInstance()
}
fun <T> create(clazz: Class<T>):T {
    return clazz.newInstance()
}